<ui:composition template="/WEB-INF/templates/layout.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui">
    <ui:define name="content">
        <h:form id="forma">
            <p:messages id="mensajes"/>
            <p:dataTable id="tablaClientes" var="cte" value="#{gestorRecurso.listaRecurso}">
                <p:column headerText="Codigo Recurso" style="width:20%">
                    <h:outputText value="#{cte.codigorecurso}"/>
                </p:column>
                <p:column headerText="Fecha Registro Recurso" style="width:45%">
                    <h:outputText value="#{cte.fecharegistrorecurso}"/>
                </p:column>
                <p:column headerText="Tipo" style="width:25%">
                    <h:outputText value="#{cte.tipo}">
                    </h:outputText>   
                </p:column>

                <p:column headerText="Marca" style="width:25%">
                    <h:outputText value="#{cte.marca}">
                    </h:outputText>   
                </p:column>


                <p:column headerText="Fabricante" style="width:25%">
                    <h:outputText value="#{cte.fabricante}">
                    </h:outputText>   
                </p:column>

                <p:column headerText="Software" style="width:25%">
                    <h:outputText value="#{cte.software}">
                    </h:outputText>   
                </p:column>

                <p:column headerText="Procesador" style="width:25%">
                    <h:outputText value="#{cte.procesador}">
                    </h:outputText>   
                </p:column>

                <p:column headerText="Memoria" style="width:25%">
                    <h:outputText value="#{cte.memoria}">
                    </h:outputText>   
                </p:column>

                <p:column headerText="Disco Duro" style="width:25%">
                    <h:outputText value="#{cte.discoduro}">
                    </h:outputText>   
                </p:column>

                <p:column headerText="Fecha Adquisicion" style="width:25%">
                    <h:outputText value="#{cte.fechaadquisicion}">
                    </h:outputText>   
                </p:column>

                <p:column headerText="Modelo" style="width:25%">
                    <h:outputText value="#{cte.modelo}">
                    </h:outputText>   
                </p:column>

                <p:column headerText="Estado" style="width:25%">
                    <h:outputText value="#{cte.estado}">
                    </h:outputText>   
                </p:column>
                <p:column style="width:5%">  
                    <p:commandLink id="editLink" 
                                   update=":editarClienteDlg" 
                                   value="Editar"
                                   action="#{gestorRecurso.setRecursoSelected(cte)}"
                                   oncomplete="dlgEdit.show()"/>

                </p:column>

                <p:column>
                    <p:commandLink value="Eliminar"
                                   action="#{gestorRecurso.setRecursoSelected(cte)}"
                                   oncomplete="confirmation.show()"/>
                </p:column>
            </p:dataTable>

        </h:form>

        <!-- Dialogo para Editar o Crear clientes -->
        <p:dialog id="editarClienteDlg" widgetVar="dlgEdit" 
                  header="Crear/Modificar Cliente" closable="false" 
                  dynamic="true">
            <h:form id="frmEdit">
                <p:messages id="msgs"/>
                <h:panelGrid id="display" columns="3">

                    <h:outputLabel for="codigoRecurso" value="Codigo Recurso: *" />
                    <p:inputText id="codigoRecurso" value="#{gestorRecurso.recurso.codigorecurso}" label="codigoRecurso" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="codigoRecurso" id="msgCodigoRecurso" display="icon"/>


                    <h:outputLabel for="fecharegistrorecurso" value="Fecha Registro Recurso: *"/>
                    <p:calendar id="fecharegistrorecurso" value="#{gestorRecurso.recurso.fecharegistrorecurso}"/>
                    <p:message for="fecharegistrorecurso" display="icon"/>

                    <h:outputLabel for="tipos" value="Tipo: *" />
                    <p:inputText id="tipos" value="#{gestorRecurso.recurso.tipo}" label="tipos" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="tipos" id="msgTipos" display="icon"/>

                    <h:outputLabel for="marca" value="Marca: *" />
                    <p:inputText id="marca" value="#{gestorRecurso.recurso.marca}" label="marca" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="marca" id="msgMarca" display="icon"/>

                    <h:outputLabel for="fabricante" value="Fabricante: *" />
                    <p:inputText id="fabricante" value="#{gestorRecurso.recurso.fabricante}" label="fabricante" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="fabricante" id="msgfabricante" display="icon"/>

                    <h:outputLabel for="observaciones" value="Observaciones: *" />
                    <p:inputText id="observaciones" value="#{gestorRecurso.recurso.observaciones}" label="observaciones" required="true" size="100">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="observaciones" id="msgObservaciones" display="icon"/>


                    <h:outputLabel for="software" value="Software: *" />
                    <p:inputText id="software" value="#{gestorRecurso.recurso.software}" label="software" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="software" id="msgSoftware" display="icon"/>

                    <h:outputLabel for="procesador" value="Procesador: *" />
                    <p:inputText id="procesador" value="#{gestorRecurso.recurso.procesador}" label="procesador" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="procesador" id="msgProcesador" display="icon"/>

                    <h:outputLabel for="memoria" value="Memoria: *" />
                    <p:inputText id="memoria" value="#{gestorRecurso.recurso.memoria}" label="memoria" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="memoria" id="msgMemoria" display="icon"/>

                    <h:outputLabel for="discoduro" value="Disco Duro: *" />
                    <p:inputText id="discoduro" value="#{gestorRecurso.recurso.discoduro}" label="discoduro" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="discoduro" id="msgDiscoduro" display="icon"/>



                    <h:outputLabel for="fechaadquisicion" value="Fecha adquisicion: *"/>
                    <p:calendar id="fechaadquisicion" value="#{gestorRecurso.recurso.fechaadquisicion}"/>
                    <p:message for="fechaadquisicion" display="icon"/>

                    <h:outputLabel for="esta2" value="Tipo Estado: *" />
                    <p:selectOneMenu id="esta2" value="#{gestorRecurso.recurso.estado}">
                        <f:selectItems value="#{gestorRecurso.tipoEstadoValues()}" />
                    </p:selectOneMenu>
                    <p:message for="esta2" display="icon"/>

                    <h:outputLabel for="modelo" value="Modelo: *" />
                    <p:inputText id="modelo" value="#{gestorRecurso.recurso.modelo}" label="modelo" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="modelo" id="msgModelo" display="icon"/>



                </h:panelGrid>

                <center>
                    <p:commandButton id="btnEditarCliente" 
                                     value="Guardar" 
                                     update="msgs"
                                     actionListener="#{gestorRecurso.modificarRecurso()}"/>

                    <p:commandButton id="btnCerrar" value="Cerrar" update=":forma" onclick="dlgEdit.hide()"/>
                </center>
            </h:form> 
        </p:dialog>


        <!-- Dialogo de confirmación para eliminar -->
        <p:confirmDialog id="confirmDialog" message="¿Esta seguro de Solicitud de Recurso?"  
                         header="Verificar Solicitud de Recurso"
                         appendTo="@(body)"
                         severity="alert"
                         widgetVar="confirmation">  
            <h:form>
                <p:commandButton id="confirm" 
                                 value="Si" 
                                 update=":forma" 
                                 oncomplete="confirmation.hide()"  
                                 actionListener="#{gestorRecurso.eliminarRecurso()}" />  
                <p:commandButton id="decline" value="No" onclick="confirmation.hide()" type="button" />   
            </h:form>       
        </p:confirmDialog> 
    </ui:define>
</ui:composition>
